Excel VBA:填充 您所在的位置:网站首页 vba copy方法对隐藏单元格无效 Excel VBA:填充

Excel VBA:填充

2023-11-05 01:11| 来源: 网络整理| 查看: 265

我们还是以录制宏的方式开始了解Range对象的FillDown方法。 如下图所示的操作: 在这里插入图片描述

Sub Macro1() ActiveCell.FormulaR1C1 = "1" Range("A1:A5").Select Selection.FillDown End Sub

从代码中可以看出,VBA使用了FillDown方法对所选单元格区域进行向下填充。 熟悉VBA的朋友可以将上述代码简化如下,达到同样的效果。

Sub testFillDown1() Range("A1").Value = 1 Range("A1:A5").FillDown End Sub

再看一个示例。如下图左侧所示的工作表,要求填充单元格区域E1:F5。 在这里插入图片描述 代码如下

Sub testFillDown2() Range("E1:F5").FillDown End Sub

FillDown方法的官方说明

从指定单元格区域内的顶部单元格或单元格区域填充到单元格区域底部。单元格区域顶行中的单元格或单元格区域的内容和格式将复制到该区域内的其余行中。

FillDown方法的语法 Range对象.FillDown

说明: FillDown方法不仅向下填充内容,而且还复制格式。 要想不带格式填充,可以使用AutoFill方法。

示例1:自动填充公式 如下图所示的工作表,要求计算合价,即列C与列D的乘积值。 在这里插入图片描述 代码如下

Sub testFillDown3() '在E2中输入公式 Range("E2").Formula ="=C2*D2" '从E2起向下填充公式至E7 Range("E2:E7").FillDown End Sub

示例2:用空单元格上方的单元格数据填充单元格区域中的空单元格 需要填充工作表中的空单元格,使用空单元格上一行的非空单元格内容填充。 在这里插入图片描述

sub test() Dim rngBlank As Range, rngArea As Range '填充空白单元格 Set rngBlank = Range("a:b").SpecialCells(xlCellTypeBlanks) For Each rngArea In rngBlank.Areas '用空白单元格上方数据填充 rngArea.Cells(1, 1).Offset(-1, 0). _ Resize(rngArea.Rows.Count + 1, rngArea.Columns.Count).FillDown Next rngArea End sub

rngArea.Cells(1, 1).Offset(-1, 0)表示从区域的第一个单元格向上偏移1行的单元格。

Resize(rngArea.Rows.Count 1, rngArea.Columns.Count)表示扩展单元格,其行数为区域的行数加1,即要包含区域之上的单元格,列数为区域的列数。

与FillDown方法类似的方法

除向下填充的FillDown方法外,还有向上填充、向左填充、向右填充,分别对应着FillUp方法、FillLeft方法、FillRight方法。

FillUP方法从指定单元格区域的底部单元格或单元格区域填充到单元格区域的顶部。区域底行中的单元格或单元格区域的内容和格式被复制到该区域内的其余行。

FillLeft方法从指定单元格区域的最右侧的单元格或单元格区域向左填充。区域的最右列中的单元格或单元格区域的内容和格式被复制到该区域的其余列中。

FillRight方法从指定单元格区域内的最左侧的单元格或单元格区域向右填充。区域的最左列中的单元格或单元格区域的内容和格式被复制到该区域的其余列中。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有